	.xlist
; Include file - EPOCDEF.INC
; Epoc/Os standard definitions include file
; Copyright (c) Psion PLC 1989-91.
;
;  VER    DATE    BY  DESCRIPTION
; ----- -------- ---- -----------
; 2.00F 30/09/90 NSM  Final release
; 2.12F 08/05/91 NSM  Final release
;
EPOCDEF_INC	=	1
;
Sibo		=	0
S3b		=	0
S3c		=	0
S3d             =       0
S3r             =       0
S39		=	0
S3		=	0
S3Pc		=	0
Vine            =       0
Prot            =       0
Asic1		=	1
Asic9		=	0
HandHeld	=	0
LapTop		=	1
IbmPc		=	1
RomServer	=	0
McLink		=	0
Consumer	=	0
Corporate	=	0
Dpmi		=	0
TickTock	=	0
DoubleSpeed     =       0
Condor          =       0
OvalDisable     =       0
S3cExtra        =       0
ifdef	BUILDPH
S3Pc		=	1
endif
ifdef	BUILDDL
Dpmi		=	1
endif
ifdef	BUILDHH
S3		=	1
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Consumer	=	1
TickTock	=	1
endif
ifdef	BUILDSB
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Consumer	=	1
S3b		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
TickTock	=	1
endif
ifdef	BUILDSC
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
S3c		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
TickTock	=	1
endif
ifdef	BUILDWA
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
S3c		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
TickTock	=	1
S3cExtra        =       1
endif
ifdef	BUILDSR
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Consumer	=	1
S3b		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
TickTock	=	1
S3r             =       1
endif
ifdef	BUILDVN
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Consumer	=	1
S3b		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
TickTock	=	1
Vine            =       1
Condor          =       1
endif
ifdef	BUILDPT
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Consumer	=	1
S3b		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
Prot            =       1
TickTock	=	1
DoubleSpeed     =       1
endif
ifdef	BUILDSD
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Consumer	=	1
S3b		=	1
S39		=	1
Asic1		=	0
Asic9		=	1
TickTock	=	1
Condor          =       1
S3d             =       1
OvalDisable     =       1
endif
ifdef	BUILDCH
Sibo		=	1
HandHeld	=	1
LapTop		=	0
IbmPc		=	0
Corporate	=	1
TickTock	=	1
endif
ifdef	BUILDLT
Sibo		=	1
IbmPc		=	0
endif
ifdef	BUILDRM
RomServer	=	1
endif
ifdef	BUILDMC
McLink		=	1
endif
;
PriorityForeground	=	080h
PriorityBackground	=	070h
;
LcdUnknown              =       -1
Lcd640X400		=	0
Lcd640X200Small		=	1
Lcd640X200Big		=	2
Lcd720X348		=	3
Lcd160X80		=	4
Lcd240X80		=	5
;
PcHerc			=	Lcd720X348
PcCga			=	Lcd640X200Big
PcMda			=	6
PcEgaMono		=	7
PcEgaColour		=	8
PcVgaMono		=	9
PcVgaColour		=	10
;
Lcd480X160		=	11
Lcd240X100		=	12
Lcd240X120		=	13
Lcd240X160		=	14
Lcd640X200		=	15
Lcd640X240		=	16
;
OldPsu			=	0
MaximPsu		=	1
PanPsu			=	2
PanA9Psu		=	3
BatteryUnknown		=	0
BatteryAlkaline		=	1
BatteryNicad600		=	2
BatteryNicad1000	=	3
BatteryNicad500		=	4
BatteryNicad850		=	5
;
IsAColdStart		=	0
IsAPowerFailStart	=	1
IsAResetStart		=	2
IsAKernelFault          =	3
IsANewOsStart		=	4
;
HwInt0Revector		=	0
HwInt1Revector		=	1
HwInt2Revector		=	2
HwInt3Revector		=	3
HwInt4Revector		=	4
HwIrq0Revector		=	5
HwIrq1Revector		=	6
HwIrq2Revector		=	7
HwIrq3Revector		=	8
HwIrq4Revector		=	9
HwIrq5Revector		=	10
HwIrq6Revector		=	11
HwIrq7Revector		=	12
;
if	IbmPc
TicksPerSecond		=	18
endif
if	Sibo
TicksPerSecond		=	32
endif
FileSystemNameSize	=	5
MaxDeviceSize           =	8
MaxNameSize             =	8
MaxExtSize              =	4
MaxNameESize            =	(MaxNameSize+MaxExtSize)
MaxPathSize             =	080h
DeviceSeparator         =	':'
ExtSeparator            =	'.'
MatchAny                =	'*'
MatchSingle             =	'?'
MaxErrorTextSize	=	64
MaxNotifyTextSize	=	64
MaxOptionTextSize	=	16
MaxDayName		=	32
MaxMonthName		=	MaxDayName
MaxSuffixes		=	31
MaxCommandBuffer	=	127
PidMask			=	0fffh
MaxEnvNameSize		=	16
MaxAlarms		=	2
MaxPassword		=	8
BackLightDisable	=	8000h
BackLightOff		=	0
BackLightOn		=	1
BackLightToggle		=	2
BackLightQuery		=	3
FrcCounting		=	0
FrcRepeating		=	1
;
SoundKeyboardEnable	=	00001h
SoundBuzzerEnable	=	00002h
SoundDeviceEnable	=	00004h
SoundLoud		=	00008h
SoundLoudBuzzer		=	00010h
SoundDisable		=	08000h
SoundMaxVolume		=	0
SoundMinVolume		=	5
SoundMaxBpm		=	240
SoundMinBpm		=	2
;
DiskAPresent		=	0000000000000001b
DiskAActive		=	0000000000000010b
DiskBPresent		=	0000000000000100b
DiskBActive		=	0000000000001000b
DiskCPresent		=	0000000000010000b
DiskCActive		=	0000000000100000b
DiskDPresent		=	0000000001000000b
DiskDActive		=	0000000010000000b
PortAOpen		=	0000000100000000b
PortAActive		=	0000001000000000b
PortBOpen		=	0000010000000000b
PortBActive		=	0000100000000000b
PortCOpen		=	0001000000000000b
PortCActive		=	0010000000000000b
MainsInactive		=	0100000000000000b
CondorActive            =       1000000000000000b
;
CPBInRom                =	0
CPBInRam                =	1
CPBMaxPriority          =	0c0h
CPBMinPriority          =	040h
MaxHeapGrowBy           =	0400h
HeapGrowByDefault       =	080h
MaxProcesses            =	018h
;
CreateSegmentLow        =	0
CreateSegmentHigh       =	1
CreateSegmentDevice     =	2
CreateSegmentLocked	=	3
;
DevFuncInstall          =	000h
DevFuncRemove           =	001h
DevFuncHold             =	002h
DevFuncResume           =	003h
DevFuncReset            =	004h
DevFuncUnits            =	005h
DevFuncOpen             =	006h
DevFuncStrategy         =	007h
;
DevHoldNormal		=	000h
DevHoldPowerDown	=	001h
DevHoldPowerFail	=	002h
;
DevFuncInstallPDD	=	DevFuncInstall
DevFuncRemovePDD	=	DevFuncRemove
DevFuncOpenPDD          =	(DevFuncRemovePDD+1)
DevFuncStrategyPDD	=	(DevFuncOpenPDD+1)
; Generic I/O r=ests
IoFuncPanic             =	000h
IoFuncRead              =	001h
SoundChannel1		=	IoFuncRead
TimerRelative		=	IoFuncRead
IoFuncWrite             =	002h
SoundChannel2		=	IoFuncWrite
TimerAbsolute		=	IoFuncWrite
IoFuncClose             =	003h
IoFuncCancel            =	004h
IoFuncAttach            =	005h
IoFuncDetach            =	006h
IoFuncSet               =	007h
IoFuncSense             =	008h
IoFuncFlush             =	009h
IoFuncAlarm		=	IoFuncFlush
; The File System 
IoFuncSeek              =	00ah
IoFuncDial		=	IoFuncSeek
IoFuncSetEof            =	00bh
; Data Link I/O + Wserv
IoFuncConnect           =	00ah
IoFuncDisconnect        =	00bh
; Wserv functions
IoFuncWriteReply        =	00ch
; Serial/llmac
IoFuncTest              =	00ah
IoFuncControl           =	00bh
IoFuncInquire           =	00ch
IoFuncSuperFrame        =	00dh
IoFuncStop              =	00eh
IoFuncStart             =	00fh
; Serial LDD to Serial PDD I/O defines
IoFuncEnable            =	010h
IoFuncSetDevice         =	011h
; Modem driver functions
IoFuncModemInit         =	010h
IoFuncModemDial         =	011h
IoFuncModemWaitCall     =	012h
IoFuncModemSense        =	013h
IoFuncModemSet          =	014h
IoFuncModemCancel	=	015h
IoFuncModemWrite	=	016h
; For 3B sound device
IoSoundPlay		=	010h
IoSoundRecord		=	011h
IoSoundPlayO    	=	012h
;
ModeOpen                =	00000h
ModeCreate              =	00001h
ModeReplace             =	00002h
ModeAppend              =	00003h
ModeUnique              =	00004h
;
ModeStream              =	00000h
ModeStreamText          =	00010h
ModeText                =	00020h
ModeDir                 =	00030h
ModeFormat		=	00040h
ModeDevice              =	00050h
ModeNode                =	00060h
;
ModeUpdate              =	00100h
ModeRandom              =	00200h
ModeShare               =	00400h
;
ModeLowDensity		=	01000h
;
ModeServiceMask         =	0000fh
ModeFormatMask          =	000f0h
ModeAccessMask          =	00f00h
;
SeekAddress		=	00h
SeekFromStart           =	01h
SeekFromEnd             =	02h
SeekFromCurrent         =	03h
SeekRecordSense         =	04h
SeekRecordSet           =	05h
SeekRewind              =	06h
;
FileAttWrite            =	00001h
FileAttHidden           =	00002h
FileAttSystem           =	00004h
FileAttVolume           =	00008h
FileAttDirectory        =	00010h
FileAttModified         =	00020h
FileAttRead             =	00100h
FileAttExecute          =	00200h
FileAttStream           =	00400h
FileAttText             =	00800h
;
FileChangeDirRoot       =	0
FileChangeDirParent     =	1
FileChangeDirSubdir     =	2
;
FileStatusEnt struc
FileVersionNo	dw      ?
FileAtt		dw	?
FileSize	dd	?
FileModDate	dd	?
FileSpare	db      4      dup (?)
FileStatusEnt ends
;
MaxVolumeName           =	32
FileMediaUnknown        =	0
FileMediaFloppy         =	1
FileMediaHardDisk       =	2
FileMediaFlash          =	3
FileMediaRam            =	4
FileMediaRom            =	5
FileMediaWriteProtected =	6
FileMediaCompressible	=	08000h
FileMediaDynamic	=	04000h
FileMediaInternal	=	02000h
FileMediaDualDensity	=	01000h
FileMediaFormattable	=	00800h
;
DeviceStatusEnt	struc
DeviceVersionNo         dw      ?
DeviceMediaType         dw      ?
DeviceIsRemovable       dw      ?
DeviceStatusSize        dd      ?
DeviceStatusFree        dd      ?
DeviceStatusName        db      MaxVolumeName dup (?)
DeviceBatteryState	dw	?
DeviceSpare             db      16 dup (?)
DeviceStatusEnt	ends
;
FileNodeFlat            =	0
FileNodeHierarchical    =	1
;
NodeStatusEnt	struc
NodeVersionNo           dw      ?
NodeType                dw      ?
NodeSupportsFormat	dw	?
NodeStatusSpare         db      26 dup (?)
NodeStatusEnt	ends
;        
FileBlockShift          =	9
FileBlockSize           =	00200h
FileMaxRecordSize       =	00100h
FileMaxStreamSize       =	04000h
;
JustifyLeft		=	0
JustifyRight		=	1
JustifyCentre		=	2
;
ParseWildAny    	=	00001h
ParseWildName   	=	00002h
ParseWildExt    	=	00004h
;
DtobTypeFixed		=	00h
DtobTypeExponent	=	01h
DtobTypeGeneral		=	02h
DtobMaxExponent		=	99
DtobGenLimit 		=	40h
FloatSignificantDigits	=	15
;
DtobEnt	struc
DtobType	db      ?
DtobWidth	db      ?
DtobNdec	db      ?
DtobPoint	db      ?
DtobTriad	db      ?
DtobTrilen	db      ?
DtobEnt	ends
;
FullParseEnt struc
FullParseSystem	db      ?
FullParseDevice	db      ?
FullParsePath	db      ?
FullParseName	db      ?
FullParseExt	db      ?
FullParseFlags	db      ?
FullParseEnt ends
;
GenParseEnt struc
GenParseSourceNamePtr	dw	?
GenParseRelatedNamePtr	dw	?
GenParseDefaultsPtr	dw	?
GenParseTargetNamePtr	dw	?
GenParseInfoPtr		dw	?
GenParseDeviceSeparator	db	?
GenParsePathSeparator	db	?
GenParseExtSeparator	db	?
GenParseMaxDeviceSize	db	?
GenParseMaxPathSize	db	?
GenParseMaxNameSize	db	?
GenParseMaxExtSize	db	?
GenParseDummy		db	?
GenParseEnt ends
;
CDataEnt struc
CDataCountryCode		dw	?
CDataGmtOffset			dw	?
CDataDateType			db	?
CDataTimeType			db	?
CDataCurrencySymbolPosition	db	?
CDataCurrencySpaceRequired	db	?
CDataCurrencyDecimalPlaces	db	?
CDataCurrencyNegativeInBrackets	db	?
CDataCurrencyTriadsAllowed	db	?
CDataThousandsSeparator		db	?
CDataDecimalSeparator		db	?
CDataDateSeparator		db	?
CDataTimeSeparator		db	?
CDataCurrencySymbol		db	9 dup(?)
CDataStartOfWeek		db	?
CDataSummerTime			db	?
CDataClockType			db	?
CDataDayAbbreviation		db	?
CDataMonthAbbreviation		db	?
CDataWorkDays			db	?
CDataUnits			db	?
CDataEscCharacter               db      ?
CDataSpare			db	8 dup(?)
CDataEnt ends
;
DyScEnt	struc
DyScDays	dw      2 dup(?)
DyScSeconds	dw      2 dup(?)
DyScEnt	ends
;
DateEnt	struc
DateYear	db      ?
DateMonth	db      ?
DateDay		db      ?
DateHour	db      ?
DateMinute	db      ?
DateSecond	db      ?
DateYearDay	dw      ?
DateEnt	ends
;
MessEnt	struc
MessNext	dw      ?
MessStatusPtr	dw	?
MessType	dw      ?
MessPid		dw      ?
MessEnt	ends
;
CPBlock	struc
CPBCodeParas            dw      ?
CPBInitialIp            dw      ?
CPBStackParas           dw      ?
CPBDataParas            dw      ?
CPBHeapParas            dw      ?
CPBCommandLine          dw      ?
CPBChecksum	        dw      ?
CPBMinHeap		dw	?
CPBPriority             db      ?
CPBRamOrRom             db      ?
CPBName                 db      ?
CPBlock	ends
;
IoChanSignature         =	01101h
IoHandlerSignature      =	01121h
DbfChanSignature        =	01141h
LIBChanSignature	=	01161h
LDDSignature            =	0dd01h
PDDSignature            =	0dd21h
LIBSignature		=	0dd41h
VectorInfoSize          =	8
;
LibEnt struc
LibSignature	dw      ?
LibInfo		db      VectorInfoSize dup(?)
LibCount	dw      ?
LibBase		dw      ?
LibEnt ends
;
OpenEnt	struc
OpenNamePtr	dw      ?
OpenMode	dw      ?
OpenChan	dw      ?
OpenEnt	ends
;
RqEnt struc
RqFunction	dw      ?
RqA1Ptr		dw      ?
RqA2Ptr		dw      ?
RqStatusPtr	dw      ?
RqEnt ends
;
ChanEnt	struc
ChanSignature	dw      ?
ChanNext	dw      ?
ChanLibHandle	dw      ?
ChanEnt	ends
;
SndEnt struc
SndBeatsPerMinute db	?
SndVolume	db	?
SndEnt ends
;
PassEnt struc
PassData	db	(MaxPassword*2) dup(?)
PassPos		dw	?
PassEnt ends
;
IntEnt struc
IntFrame	dw      ?
IntBP		dw      ?
IntES		dw      ?
IntDS		dw      ?
IntPC		dw      ?
IntCS		dw      ?
IntFLAGS	dw      ?
IntEnt ends
;
DataEnt	struc
DataWordDead	dw	?
DataHandNext	dw      ?
DataHandPrev	dw      ?
DataCountrySeg	dw	?
DataClassHandle	dw      ?
DataClassPtr	dw	?
DataEClassHandle dw	?
DataEClassPtr	dw	?
DataEnterFramePtr dw	?
Dataw_ws	dw      ?
Dataw_am	dw      ?
DatawClientData	dw      ?
Datawserv_channel dw    ?
DataT		dw      ?
Datar		dw      ?
DataOsFramePtr	dw      ?
DataATFlag	db      ?
DataHeapLocked	db      ?
DataProcessNamePtr dw	?
DataCommandPtr	dw	?
DataTest	dw	?
DataApp1	dw	?
DataApp2	dw	?
DataApp3	dw	?
DataApp4	dw	?
DataApp5	dw	?
DataApp6	dw	?
DataApp7	dw	?
DataDialogPtr	dw	?
DataGate	dw	?
DataLocked	dw	?
DataStatusNamePtr dw	?
DataUsedPathNamePtr dw	?
DataEnt	ends
;
; Major exit error numbers
KillExit	=	0
PanicExit	=	1
TaskPanicExit	=	2
; Minor exit error numbers
NoErr		=	0
FailErr		=	-1
ArgumentErr	=	-2
OsErr		=	-3
NotSupportedErr	=	-4
UnderflowErr	=	-5
OverflowErr	=	-6
RangeErr	=	-7
DivideByZeroErr	=	-8
InUseErr	=	-9
NoMemoryErr	=	-10
IoAllocErr	=	NoMemoryErr
NoSegmentsErr	=	-11
NoSemaphoreErr	=	-12
NoProcessErr	=	-13
AlreadyOpenErr	=	-14
NotOpenErr	=	-15
ImageErr	=	-16
NoReceiverErr	=	-17
NoDevicesErr	=	-18
NoFileSystemErr	=	-19
FailedToStartErr =	-20
FontNotLoadedErr =	-21
TooWideErr	=	-22
TooManyItemsErr	=	-23
BatLowSoundErr	=	-24
BatLowFlashErr	=	-25
BatLowIRDAErr	=	-26
;
ExistsErr	=	-32
NotExistsErr	=	-33
WriteErr	=	-34
ReadErr		=	-35
EofErr		=	-36
FullErr		=	-37
NameErr		=	-38
AccessErr	=	-39
LockedErr	=	-40
DeviceErr	=	-41
DirErr		=	-42
RecordErr	=	-43
ReadOnlyErr	=	-44
IoInvalidErr	=	-45
PendingErr	=	-46
VolumeErr	=	-47
CancelErr	=	-48
ReservedErr	=	-49
DisconnectErr	=	-50
ConnectErr	=	-51
ReTransmitErr	=	-52
LineErr		=	-53
InActivityErr	=	-54
ParityErr	=	-55
FrameErr	=	-56
OverrunErr	=	-57
ModemConnectErr	=	-58
ModemBusyErr	=	-59
ModemNoAnswerErr =	-60
ModemBlacklistErr =	-61
NotReadyErr	=	-62
UnknownErr	=	-63
DirFullErr	=	-64
WriteProtectErr	=	-65
CorruptMediaErr	=	-66
AbortErr	=	-67
EraseErr	=	-68
InvalidFileErr	=	-69
	.list

